#pragma once
#ifndef __SHADER_H__
#define __SHADER_H__
#include <glad/glad.h>
#include "glm_use.h"
class Shader
{
public:
	Shader(const char *vertexPath, const char *fragmentPath);
	unsigned int id();
	void use();
	void setUniform(const char *name, int v1);
	void setUniform(const char *name, int v1, int v2);
	void setUniform(const char *name, int v1, int v2, int v3);
	void setUniform(const char *name, int v1, int v2, int v3, int v4);
	void setUniform(const char *name, float v1);
	void setUniform(const char *name, float v1, float v2);
	void setUniform(const char *name, float v1, float v2, float v3);
	void setUniform(const char *name, float v1, float v2, float v3, float v4);
	void setMat4(const char *name, glm::mat4 mt);

private:
	unsigned int ID;
};
#endif
